package com.smart.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;


/**
 * 商户
 * 
 * @author zhouwc
 * @email zhouwenchao@smart.net.cn
 * @date 2019-07-29 13:24:20
 */
@Data
public class MerchantInfoDO implements Serializable {
	private static final long serialVersionUID = 1L;
	
	//商户ID
	private Integer merchantId;
	//商户编号导入
	private String merchantNum;
	//所属平台
	private Integer platId;
	//商户名称
	private String merchantName;
	//所属省
	private String provinceNum;
	//所属市
	private String cityNum;
	//商户地址
	private String merchantAddr;
	//冻结0,正常1
	private Integer merchantFlag;
	//创建人
	private String createBy;
	//创建时间
	private Date createTime;
	//修改人
	private String updateBy;
	//修改时间
	private Date updateTime;
	//备注
	private String remark;
	//乐观锁
	private Integer version;
	//税号
	private String dutyParagraph;
	//开户行
	private String bankName;
	//银行账号
	private String bankCode;
	//公司联系电话
	private String tel;
	//openid
	private String openid;
	//月广告数量起
	private Integer advertisingQuantityS;
	//月广告数量止
	private Integer advertisingQuantityE;
	//分润百分比
	private BigDecimal percentageOfProfit;
	//月发券数量起
	private Integer cpNumberOfMonthlyS;
	//月发券数量止
	private Integer cpNumberOfMonthlyE;
	//广告类型
	private Integer advertisingType;
	//地址坐标
	private String addPoint;
	//主营类目
	private Integer category;
	//注册手机
	private String phone;
	//微信头像
	private String headimg;
	//商户logo_url
	private String logoUrl;

	private String platName;
	//公众号开发者ID(AppID)：
	private String appid;

	public String getAppid() {
		return appid;
	}

	public void setAppid(String appid) {
		this.appid = appid;
	}

	public String getPlatName() {
		return platName;
	}

	public void setPlatName(String platName) {
		this.platName = platName;
	}

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	public Integer getMerchantId() {
		return merchantId;
	}

	public void setMerchantId(Integer merchantId) {
		this.merchantId = merchantId;
	}

	public String getMerchantNum() {
		return merchantNum;
	}

	public void setMerchantNum(String merchantNum) {
		this.merchantNum = merchantNum;
	}

	public Integer getPlatId() {
		return platId;
	}

	public void setPlatId(Integer platId) {
		this.platId = platId;
	}

	public String getMerchantName() {
		return merchantName;
	}

	public void setMerchantName(String merchantName) {
		this.merchantName = merchantName;
	}

	public String getProvinceNum() {
		return provinceNum;
	}

	public void setProvinceNum(String provinceNum) {
		this.provinceNum = provinceNum;
	}

	public String getCityNum() {
		return cityNum;
	}

	public void setCityNum(String cityNum) {
		this.cityNum = cityNum;
	}

	public String getMerchantAddr() {
		return merchantAddr;
	}

	public void setMerchantAddr(String merchantAddr) {
		this.merchantAddr = merchantAddr;
	}

	public Integer getMerchantFlag() {
		return merchantFlag;
	}

	public void setMerchantFlag(Integer merchantFlag) {
		this.merchantFlag = merchantFlag;
	}

	public String getCreateBy() {
		return createBy;
	}

	public void setCreateBy(String createBy) {
		this.createBy = createBy;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getUpdateBy() {
		return updateBy;
	}

	public void setUpdateBy(String updateBy) {
		this.updateBy = updateBy;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Integer getVersion() {
		return version;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}

	public String getDutyParagraph() {
		return dutyParagraph;
	}

	public void setDutyParagraph(String dutyParagraph) {
		this.dutyParagraph = dutyParagraph;
	}

	public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	public String getBankCode() {
		return bankCode;
	}

	public void setBankCode(String bankCode) {
		this.bankCode = bankCode;
	}

	public String getTel() {
		return tel;
	}

	public void setTel(String tel) {
		this.tel = tel;
	}

	public String getOpenid() {
		return openid;
	}

	public void setOpenid(String openid) {
		this.openid = openid;
	}

	public Integer getAdvertisingQuantityS() {
		return advertisingQuantityS;
	}

	public void setAdvertisingQuantityS(Integer advertisingQuantityS) {
		this.advertisingQuantityS = advertisingQuantityS;
	}

	public Integer getAdvertisingQuantityE() {
		return advertisingQuantityE;
	}

	public void setAdvertisingQuantityE(Integer advertisingQuantityE) {
		this.advertisingQuantityE = advertisingQuantityE;
	}

	public BigDecimal getPercentageOfProfit() {
		return percentageOfProfit;
	}

	public void setPercentageOfProfit(BigDecimal percentageOfProfit) {
		this.percentageOfProfit = percentageOfProfit;
	}

	public Integer getCpNumberOfMonthlyS() {
		return cpNumberOfMonthlyS;
	}

	public void setCpNumberOfMonthlyS(Integer cpNumberOfMonthlyS) {
		this.cpNumberOfMonthlyS = cpNumberOfMonthlyS;
	}

	public Integer getCpNumberOfMonthlyE() {
		return cpNumberOfMonthlyE;
	}

	public void setCpNumberOfMonthlyE(Integer cpNumberOfMonthlyE) {
		this.cpNumberOfMonthlyE = cpNumberOfMonthlyE;
	}

	public Integer getAdvertisingType() {
		return advertisingType;
	}

	public void setAdvertisingType(Integer advertisingType) {
		this.advertisingType = advertisingType;
	}

	public String getAddPoint() {
		return addPoint;
	}

	public void setAddPoint(String addPoint) {
		this.addPoint = addPoint;
	}

	public Integer getCategory() {
		return category;
	}

	public void setCategory(Integer category) {
		this.category = category;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getHeadimg() {
		return headimg;
	}

	public void setHeadimg(String headimg) {
		this.headimg = headimg;
	}

	public String getLogoUrl() {
		return logoUrl;
	}

	public void setLogoUrl(String logoUrl) {
		this.logoUrl = logoUrl;
	}

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;
		if (o == null || getClass() != o.getClass()) return false;
		MerchantInfoDO that = (MerchantInfoDO) o;
		return Objects.equals(merchantId, that.merchantId) &&
				Objects.equals(merchantNum, that.merchantNum) &&
				Objects.equals(platId, that.platId) &&
				Objects.equals(merchantName, that.merchantName) &&
				Objects.equals(provinceNum, that.provinceNum) &&
				Objects.equals(cityNum, that.cityNum) &&
				Objects.equals(merchantAddr, that.merchantAddr) &&
				Objects.equals(merchantFlag, that.merchantFlag) &&
				Objects.equals(createBy, that.createBy) &&
				Objects.equals(createTime, that.createTime) &&
				Objects.equals(updateBy, that.updateBy) &&
				Objects.equals(updateTime, that.updateTime) &&
				Objects.equals(remark, that.remark) &&
				Objects.equals(version, that.version) &&
				Objects.equals(dutyParagraph, that.dutyParagraph) &&
				Objects.equals(bankName, that.bankName) &&
				Objects.equals(bankCode, that.bankCode) &&
				Objects.equals(tel, that.tel) &&
				Objects.equals(openid, that.openid) &&
				Objects.equals(advertisingQuantityS, that.advertisingQuantityS) &&
				Objects.equals(advertisingQuantityE, that.advertisingQuantityE) &&
				Objects.equals(percentageOfProfit, that.percentageOfProfit) &&
				Objects.equals(cpNumberOfMonthlyS, that.cpNumberOfMonthlyS) &&
				Objects.equals(cpNumberOfMonthlyE, that.cpNumberOfMonthlyE) &&
				Objects.equals(advertisingType, that.advertisingType) &&
				Objects.equals(addPoint, that.addPoint) &&
				Objects.equals(category, that.category) &&
				Objects.equals(phone, that.phone) &&
				Objects.equals(headimg, that.headimg) &&
				Objects.equals(logoUrl, that.logoUrl);
	}

	@Override
	public int hashCode() {
		return Objects.hash(merchantId, merchantNum, platId, merchantName, provinceNum, cityNum, merchantAddr, merchantFlag, createBy, createTime, updateBy, updateTime, remark, version, dutyParagraph, bankName, bankCode, tel, openid, advertisingQuantityS, advertisingQuantityE, percentageOfProfit, cpNumberOfMonthlyS, cpNumberOfMonthlyE, advertisingType, addPoint, category, phone, headimg, logoUrl);
	}

	@Override
	public String toString() {
		return "MerchantInfoDO{" +
				"merchantId=" + merchantId +
				", merchantNum='" + merchantNum + '\'' +
				", platId=" + platId +
				", merchantName='" + merchantName + '\'' +
				", provinceNum='" + provinceNum + '\'' +
				", cityNum='" + cityNum + '\'' +
				", merchantAddr='" + merchantAddr + '\'' +
				", merchantFlag=" + merchantFlag +
				", createBy='" + createBy + '\'' +
				", createTime=" + createTime +
				", updateBy='" + updateBy + '\'' +
				", updateTime=" + updateTime +
				", remark='" + remark + '\'' +
				", version=" + version +
				", dutyParagraph='" + dutyParagraph + '\'' +
				", bankName='" + bankName + '\'' +
				", bankCode='" + bankCode + '\'' +
				", tel='" + tel + '\'' +
				", openid='" + openid + '\'' +
				", advertisingQuantityS=" + advertisingQuantityS +
				", advertisingQuantityE=" + advertisingQuantityE +
				", percentageOfProfit=" + percentageOfProfit +
				", cpNumberOfMonthlyS=" + cpNumberOfMonthlyS +
				", cpNumberOfMonthlyE=" + cpNumberOfMonthlyE +
				", advertisingType=" + advertisingType +
				", addPoint='" + addPoint + '\'' +
				", category=" + category +
				", phone='" + phone + '\'' +
				", headimg='" + headimg + '\'' +
				", logoUrl='" + logoUrl + '\'' +
				'}';
	}
}
